home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / gcc / geninline_920614.lha / inline-2.0 / iffparse.h < prev    next >
C/C++ Source or Header  |  1992-06-14  |  20KB  |  621 lines

  1. #ifndef _INLINE_IFFPARSE_H
  2. #define _INLINE_IFFPARSE_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL extern struct IFFParseBase*  IFFParseBase;
  11. #endif
  12. #ifndef BASE_PAR_DECL
  13. #define BASE_PAR_DECL
  14. #define BASE_PAR_DECL0 void
  15. #endif
  16. #ifndef BASE_NAME
  17. #define BASE_NAME IFFParseBase
  18. #endif
  19.  
  20. static __inline struct IFFHandle *
  21. AllocIFF (BASE_PAR_DECL0)
  22. {
  23.   BASE_EXT_DECL
  24.   register struct IFFHandle * _res  __asm("d0");
  25.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  26.   __asm __volatile ("jsr a6@(-0x1e)"
  27.   : "=r" (_res)
  28.   : "r" (a6)
  29.   : "a0","a1","d0","d1");
  30.   return _res;
  31. }
  32. static __inline struct LocalContextItem *
  33. AllocLocalItem (BASE_PAR_DECL long type,long id,long ident,long dataSize)
  34. {
  35.   BASE_EXT_DECL
  36.   register struct LocalContextItem * _res  __asm("d0");
  37.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  38.   register long d0 __asm("d0") = type;
  39.   register long d1 __asm("d1") = id;
  40.   register long d2 __asm("d2") = ident;
  41.   register long d3 __asm("d3") = dataSize;
  42.   __asm __volatile ("jsr a6@(-0xba)"
  43.   : "=r" (_res)
  44.   : "r" (a6), "r" (d0), "r" (d1), "r" (d2), "r" (d3)
  45.   : "a0","a1","d0","d1","d2","d3");
  46.   return _res;
  47. }
  48. static __inline void 
  49. CloseClipboard (BASE_PAR_DECL struct ClipboardHandle *clipboard)
  50. {
  51.   BASE_EXT_DECL
  52.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  53.   register struct ClipboardHandle *a0 __asm("a0") = clipboard;
  54.   __asm __volatile ("jsr a6@(-0xfc)"
  55.   : /* no output */
  56.   : "r" (a6), "r" (a0)
  57.   : "a0","a1","d0","d1");
  58.   *(char *)a0 = *(char *)a0;
  59. }
  60. static __inline void 
  61. CloseIFF (BASE_PAR_DECL struct IFFHandle *iff)
  62. {
  63.   BASE_EXT_DECL
  64.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  65.   register struct IFFHandle *a0 __asm("a0") = iff;
  66.   __asm __volatile ("jsr a6@(-0x30)"
  67.   : /* no output */
  68.   : "r" (a6), "r" (a0)
  69.   : "a0","a1","d0","d1");
  70.   *(char *)a0 = *(char *)a0;
  71. }
  72. static __inline LONG 
  73. CollectionChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  74. {
  75.   BASE_EXT_DECL
  76.   register LONG  _res  __asm("d0");
  77.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  78.   register struct IFFHandle *a0 __asm("a0") = iff;
  79.   register long d0 __asm("d0") = type;
  80.   register long d1 __asm("d1") = id;
  81.   __asm __volatile ("jsr a6@(-0x8a)"
  82.   : "=r" (_res)
  83.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  84.   : "a0","a1","d0","d1");
  85.   *(char *)a0 = *(char *)a0;
  86.   return _res;
  87. }
  88. static __inline LONG 
  89. CollectionChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long nProps)
  90. {
  91.   BASE_EXT_DECL
  92.   register LONG  _res  __asm("d0");
  93.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  94.   register struct IFFHandle *a0 __asm("a0") = iff;
  95.   register LONG *a1 __asm("a1") = propArray;
  96.   register long d0 __asm("d0") = nProps;
  97.   __asm __volatile ("jsr a6@(-0x90)"
  98.   : "=r" (_res)
  99.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  100.   : "a0","a1","d0","d1");
  101.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  102.   return _res;
  103. }
  104. static __inline struct ContextNode *
  105. CurrentChunk (BASE_PAR_DECL struct IFFHandle *iff)
  106. {
  107.   BASE_EXT_DECL
  108.   register struct ContextNode * _res  __asm("d0");
  109.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  110.   register struct IFFHandle *a0 __asm("a0") = iff;
  111.   __asm __volatile ("jsr a6@(-0xae)"
  112.   : "=r" (_res)
  113.   : "r" (a6), "r" (a0)
  114.   : "a0","a1","d0","d1");
  115.   *(char *)a0 = *(char *)a0;
  116.   return _res;
  117. }
  118. static __inline LONG 
  119. EntryHandler (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long position,struct Hook *handler,APTR object)
  120. {
  121.   BASE_EXT_DECL
  122.   register LONG  _res  __asm("d0");
  123.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  124.   register struct IFFHandle *a0 __asm("a0") = iff;
  125.   register long d0 __asm("d0") = type;
  126.   register long d1 __asm("d1") = id;
  127.   register long d2 __asm("d2") = position;
  128.   register struct Hook *a1 __asm("a1") = handler;
  129.   register APTR a2 __asm("a2") = object;
  130.   __asm __volatile ("jsr a6@(-0x66)"
  131.   : "=r" (_res)
  132.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
  133.   : "a0","a1","a2","d0","d1","d2");
  134.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  135.   return _res;
  136. }
  137. static __inline LONG 
  138. ExitHandler (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long position,struct Hook *handler,APTR object)
  139. {
  140.   BASE_EXT_DECL
  141.   register LONG  _res  __asm("d0");
  142.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  143.   register struct IFFHandle *a0 __asm("a0") = iff;
  144.   register long d0 __asm("d0") = type;
  145.   register long d1 __asm("d1") = id;
  146.   register long d2 __asm("d2") = position;
  147.   register struct Hook *a1 __asm("a1") = handler;
  148.   register APTR a2 __asm("a2") = object;
  149.   __asm __volatile ("jsr a6@(-0x6c)"
  150.   : "=r" (_res)
  151.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2), "r" (a1), "r" (a2)
  152.   : "a0","a1","a2","d0","d1","d2");
  153.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  154.   return _res;
  155. }
  156. static __inline struct CollectionItem *
  157. FindCollection (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  158. {
  159.   BASE_EXT_DECL
  160.   register struct CollectionItem * _res  __asm("d0");
  161.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  162.   register struct IFFHandle *a0 __asm("a0") = iff;
  163.   register long d0 __asm("d0") = type;
  164.   register long d1 __asm("d1") = id;
  165.   __asm __volatile ("jsr a6@(-0xa2)"
  166.   : "=r" (_res)
  167.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  168.   : "a0","a1","d0","d1");
  169.   *(char *)a0 = *(char *)a0;
  170.   return _res;
  171. }
  172. static __inline struct LocalContextItem *
  173. FindLocalItem (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long ident)
  174. {
  175.   BASE_EXT_DECL
  176.   register struct LocalContextItem * _res  __asm("d0");
  177.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  178.   register struct IFFHandle *a0 __asm("a0") = iff;
  179.   register long d0 __asm("d0") = type;
  180.   register long d1 __asm("d1") = id;
  181.   register long d2 __asm("d2") = ident;
  182.   __asm __volatile ("jsr a6@(-0xd2)"
  183.   : "=r" (_res)
  184.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
  185.   : "a0","a1","d0","d1","d2");
  186.   *(char *)a0 = *(char *)a0;
  187.   return _res;
  188. }
  189. static __inline struct StoredProperty *
  190. FindProp (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  191. {
  192.   BASE_EXT_DECL
  193.   register struct StoredProperty * _res  __asm("d0");
  194.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  195.   register struct IFFHandle *a0 __asm("a0") = iff;
  196.   register long d0 __asm("d0") = type;
  197.   register long d1 __asm("d1") = id;
  198.   __asm __volatile ("jsr a6@(-0x9c)"
  199.   : "=r" (_res)
  200.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  201.   : "a0","a1","d0","d1");
  202.   *(char *)a0 = *(char *)a0;
  203.   return _res;
  204. }
  205. static __inline struct ContextNode *
  206. FindPropContext (BASE_PAR_DECL struct IFFHandle *iff)
  207. {
  208.   BASE_EXT_DECL
  209.   register struct ContextNode * _res  __asm("d0");
  210.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  211.   register struct IFFHandle *a0 __asm("a0") = iff;
  212.   __asm __volatile ("jsr a6@(-0xa8)"
  213.   : "=r" (_res)
  214.   : "r" (a6), "r" (a0)
  215.   : "a0","a1","d0","d1");
  216.   *(char *)a0 = *(char *)a0;
  217.   return _res;
  218. }
  219. static __inline void 
  220. FreeIFF (BASE_PAR_DECL struct IFFHandle *iff)
  221. {
  222.   BASE_EXT_DECL
  223.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  224.   register struct IFFHandle *a0 __asm("a0") = iff;
  225.   __asm __volatile ("jsr a6@(-0x36)"
  226.   : /* no output */
  227.   : "r" (a6), "r" (a0)
  228.   : "a0","a1","d0","d1");
  229.   *(char *)a0 = *(char *)a0;
  230. }
  231. static __inline void 
  232. FreeLocalItem (BASE_PAR_DECL struct LocalContextItem *localItem)
  233. {
  234.   BASE_EXT_DECL
  235.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  236.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  237.   __asm __volatile ("jsr a6@(-0xcc)"
  238.   : /* no output */
  239.   : "r" (a6), "r" (a0)
  240.   : "a0","a1","d0","d1");
  241.   *(char *)a0 = *(char *)a0;
  242. }
  243. static __inline LONG 
  244. GoodID (BASE_PAR_DECL long id)
  245. {
  246.   BASE_EXT_DECL
  247.   register LONG  _res  __asm("d0");
  248.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  249.   register long d0 __asm("d0") = id;
  250.   __asm __volatile ("jsr a6@(-0x102)"
  251.   : "=r" (_res)
  252.   : "r" (a6), "r" (d0)
  253.   : "a0","a1","d0","d1");
  254.   return _res;
  255. }
  256. static __inline LONG 
  257. GoodType (BASE_PAR_DECL long type)
  258. {
  259.   BASE_EXT_DECL
  260.   register LONG  _res  __asm("d0");
  261.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  262.   register long d0 __asm("d0") = type;
  263.   __asm __volatile ("jsr a6@(-0x108)"
  264.   : "=r" (_res)
  265.   : "r" (a6), "r" (d0)
  266.   : "a0","a1","d0","d1");
  267.   return _res;
  268. }
  269. static __inline STRPTR 
  270. IDtoStr (BASE_PAR_DECL long id,STRPTR buf)
  271. {
  272.   BASE_EXT_DECL
  273.   register STRPTR  _res  __asm("d0");
  274.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  275.   register long d0 __asm("d0") = id;
  276.   register STRPTR a0 __asm("a0") = buf;
  277.   __asm __volatile ("jsr a6@(-0x114)"
  278.   : "=r" (_res)
  279.   : "r" (a6), "r" (d0), "r" (a0)
  280.   : "a0","a1","d0","d1");
  281.   *(char *)a0 = *(char *)a0;
  282.   return _res;
  283. }
  284. static __inline void 
  285. InitIFF (BASE_PAR_DECL struct IFFHandle *iff,long flags,struct Hook *streamHook)
  286. {
  287.   BASE_EXT_DECL
  288.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  289.   register struct IFFHandle *a0 __asm("a0") = iff;
  290.   register long d0 __asm("d0") = flags;
  291.   register struct Hook *a1 __asm("a1") = streamHook;
  292.   __asm __volatile ("jsr a6@(-0xe4)"
  293.   : /* no output */
  294.   : "r" (a6), "r" (a0), "r" (d0), "r" (a1)
  295.   : "a0","a1","d0","d1");
  296.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  297. }
  298. static __inline void 
  299. InitIFFasClip (BASE_PAR_DECL struct IFFHandle *iff)
  300. {
  301.   BASE_EXT_DECL
  302.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  303.   register struct IFFHandle *a0 __asm("a0") = iff;
  304.   __asm __volatile ("jsr a6@(-0xf0)"
  305.   : /* no output */
  306.   : "r" (a6), "r" (a0)
  307.   : "a0","a1","d0","d1");
  308.   *(char *)a0 = *(char *)a0;
  309. }
  310. static __inline void 
  311. InitIFFasDOS (BASE_PAR_DECL struct IFFHandle *iff)
  312. {
  313.   BASE_EXT_DECL
  314.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  315.   register struct IFFHandle *a0 __asm("a0") = iff;
  316.   __asm __volatile ("jsr a6@(-0xea)"
  317.   : /* no output */
  318.   : "r" (a6), "r" (a0)
  319.   : "a0","a1","d0","d1");
  320.   *(char *)a0 = *(char *)a0;
  321. }
  322. static __inline APTR 
  323. LocalItemData (BASE_PAR_DECL struct LocalContextItem *localItem)
  324. {
  325.   BASE_EXT_DECL
  326.   register APTR  _res  __asm("d0");
  327.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  328.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  329.   __asm __volatile ("jsr a6@(-0xc0)"
  330.   : "=r" (_res)
  331.   : "r" (a6), "r" (a0)
  332.   : "a0","a1","d0","d1");
  333.   *(char *)a0 = *(char *)a0;
  334.   return _res;
  335. }
  336. static __inline struct ClipboardHandle *
  337. OpenClipboard (BASE_PAR_DECL long unitNum)
  338. {
  339.   BASE_EXT_DECL
  340.   register struct ClipboardHandle * _res  __asm("d0");
  341.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  342.   register long d0 __asm("d0") = unitNum;
  343.   __asm __volatile ("jsr a6@(-0xf6)"
  344.   : "=r" (_res)
  345.   : "r" (a6), "r" (d0)
  346.   : "a0","a1","d0","d1");
  347.   return _res;
  348. }
  349. static __inline LONG 
  350. OpenIFF (BASE_PAR_DECL struct IFFHandle *iff,long rwMode)
  351. {
  352.   BASE_EXT_DECL
  353.   register LONG  _res  __asm("d0");
  354.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  355.   register struct IFFHandle *a0 __asm("a0") = iff;
  356.   register long d0 __asm("d0") = rwMode;
  357.   __asm __volatile ("jsr a6@(-0x24)"
  358.   : "=r" (_res)
  359.   : "r" (a6), "r" (a0), "r" (d0)
  360.   : "a0","a1","d0","d1");
  361.   *(char *)a0 = *(char *)a0;
  362.   return _res;
  363. }
  364. static __inline struct ContextNode *
  365. ParentChunk (BASE_PAR_DECL struct ContextNode *contextNode)
  366. {
  367.   BASE_EXT_DECL
  368.   register struct ContextNode * _res  __asm("d0");
  369.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  370.   register struct ContextNode *a0 __asm("a0") = contextNode;
  371.   __asm __volatile ("jsr a6@(-0xb4)"
  372.   : "=r" (_res)
  373.   : "r" (a6), "r" (a0)
  374.   : "a0","a1","d0","d1");
  375.   *(char *)a0 = *(char *)a0;
  376.   return _res;
  377. }
  378. static __inline LONG 
  379. ParseIFF (BASE_PAR_DECL struct IFFHandle *iff,long control)
  380. {
  381.   BASE_EXT_DECL
  382.   register LONG  _res  __asm("d0");
  383.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  384.   register struct IFFHandle *a0 __asm("a0") = iff;
  385.   register long d0 __asm("d0") = control;
  386.   __asm __volatile ("jsr a6@(-0x2a)"
  387.   : "=r" (_res)
  388.   : "r" (a6), "r" (a0), "r" (d0)
  389.   : "a0","a1","d0","d1");
  390.   *(char *)a0 = *(char *)a0;
  391.   return _res;
  392. }
  393. static __inline LONG 
  394. PopChunk (BASE_PAR_DECL struct IFFHandle *iff)
  395. {
  396.   BASE_EXT_DECL
  397.   register LONG  _res  __asm("d0");
  398.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  399.   register struct IFFHandle *a0 __asm("a0") = iff;
  400.   __asm __volatile ("jsr a6@(-0x5a)"
  401.   : "=r" (_res)
  402.   : "r" (a6), "r" (a0)
  403.   : "a0","a1","d0","d1");
  404.   *(char *)a0 = *(char *)a0;
  405.   return _res;
  406. }
  407. static __inline LONG 
  408. PropChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  409. {
  410.   BASE_EXT_DECL
  411.   register LONG  _res  __asm("d0");
  412.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  413.   register struct IFFHandle *a0 __asm("a0") = iff;
  414.   register long d0 __asm("d0") = type;
  415.   register long d1 __asm("d1") = id;
  416.   __asm __volatile ("jsr a6@(-0x72)"
  417.   : "=r" (_res)
  418.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  419.   : "a0","a1","d0","d1");
  420.   *(char *)a0 = *(char *)a0;
  421.   return _res;
  422. }
  423. static __inline LONG 
  424. PropChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long nProps)
  425. {
  426.   BASE_EXT_DECL
  427.   register LONG  _res  __asm("d0");
  428.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  429.   register struct IFFHandle *a0 __asm("a0") = iff;
  430.   register LONG *a1 __asm("a1") = propArray;
  431.   register long d0 __asm("d0") = nProps;
  432.   __asm __volatile ("jsr a6@(-0x78)"
  433.   : "=r" (_res)
  434.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  435.   : "a0","a1","d0","d1");
  436.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  437.   return _res;
  438. }
  439. static __inline LONG 
  440. PushChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id,long size)
  441. {
  442.   BASE_EXT_DECL
  443.   register LONG  _res  __asm("d0");
  444.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  445.   register struct IFFHandle *a0 __asm("a0") = iff;
  446.   register long d0 __asm("d0") = type;
  447.   register long d1 __asm("d1") = id;
  448.   register long d2 __asm("d2") = size;
  449.   __asm __volatile ("jsr a6@(-0x54)"
  450.   : "=r" (_res)
  451.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1), "r" (d2)
  452.   : "a0","a1","d0","d1","d2");
  453.   *(char *)a0 = *(char *)a0;
  454.   return _res;
  455. }
  456. static __inline LONG 
  457. ReadChunkBytes (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long size)
  458. {
  459.   BASE_EXT_DECL
  460.   register LONG  _res  __asm("d0");
  461.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  462.   register struct IFFHandle *a0 __asm("a0") = iff;
  463.   register APTR a1 __asm("a1") = buf;
  464.   register long d0 __asm("d0") = size;
  465.   __asm __volatile ("jsr a6@(-0x3c)"
  466.   : "=r" (_res)
  467.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  468.   : "a0","a1","d0","d1");
  469.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  470.   return _res;
  471. }
  472. static __inline LONG 
  473. ReadChunkRecords (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long bytesPerRecord,long nRecords)
  474. {
  475.   BASE_EXT_DECL
  476.   register LONG  _res  __asm("d0");
  477.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  478.   register struct IFFHandle *a0 __asm("a0") = iff;
  479.   register APTR a1 __asm("a1") = buf;
  480.   register long d0 __asm("d0") = bytesPerRecord;
  481.   register long d1 __asm("d1") = nRecords;
  482.   __asm __volatile ("jsr a6@(-0x48)"
  483.   : "=r" (_res)
  484.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
  485.   : "a0","a1","d0","d1");
  486.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  487.   return _res;
  488. }
  489. static __inline void 
  490. SetLocalItemPurge (BASE_PAR_DECL struct LocalContextItem *localItem,struct Hook *purgeHook)
  491. {
  492.   BASE_EXT_DECL
  493.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  494.   register struct LocalContextItem *a0 __asm("a0") = localItem;
  495.   register struct Hook *a1 __asm("a1") = purgeHook;
  496.   __asm __volatile ("jsr a6@(-0xc6)"
  497.   : /* no output */
  498.   : "r" (a6), "r" (a0), "r" (a1)
  499.   : "a0","a1","d0","d1");
  500.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  501. }
  502. static __inline LONG 
  503. StopChunk (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  504. {
  505.   BASE_EXT_DECL
  506.   register LONG  _res  __asm("d0");
  507.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  508.   register struct IFFHandle *a0 __asm("a0") = iff;
  509.   register long d0 __asm("d0") = type;
  510.   register long d1 __asm("d1") = id;
  511.   __asm __volatile ("jsr a6@(-0x7e)"
  512.   : "=r" (_res)
  513.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  514.   : "a0","a1","d0","d1");
  515.   *(char *)a0 = *(char *)a0;
  516.   return _res;
  517. }
  518. static __inline LONG 
  519. StopChunks (BASE_PAR_DECL struct IFFHandle *iff,LONG *propArray,long nProps)
  520. {
  521.   BASE_EXT_DECL
  522.   register LONG  _res  __asm("d0");
  523.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  524.   register struct IFFHandle *a0 __asm("a0") = iff;
  525.   register LONG *a1 __asm("a1") = propArray;
  526.   register long d0 __asm("d0") = nProps;
  527.   __asm __volatile ("jsr a6@(-0x84)"
  528.   : "=r" (_res)
  529.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  530.   : "a0","a1","d0","d1");
  531.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  532.   return _res;
  533. }
  534. static __inline LONG 
  535. StopOnExit (BASE_PAR_DECL struct IFFHandle *iff,long type,long id)
  536. {
  537.   BASE_EXT_DECL
  538.   register LONG  _res  __asm("d0");
  539.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  540.   register struct IFFHandle *a0 __asm("a0") = iff;
  541.   register long d0 __asm("d0") = type;
  542.   register long d1 __asm("d1") = id;
  543.   __asm __volatile ("jsr a6@(-0x96)"
  544.   : "=r" (_res)
  545.   : "r" (a6), "r" (a0), "r" (d0), "r" (d1)
  546.   : "a0","a1","d0","d1");
  547.   *(char *)a0 = *(char *)a0;
  548.   return _res;
  549. }
  550. static __inline void 
  551. StoreItemInContext (BASE_PAR_DECL struct IFFHandle *iff,struct LocalContextItem *localItem,struct ContextNode *contextNode)
  552. {
  553.   BASE_EXT_DECL
  554.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  555.   register struct IFFHandle *a0 __asm("a0") = iff;
  556.   register struct LocalContextItem *a1 __asm("a1") = localItem;
  557.   register struct ContextNode *a2 __asm("a2") = contextNode;
  558.   __asm __volatile ("jsr a6@(-0xde)"
  559.   : /* no output */
  560.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  561.   : "a0","a1","a2","d0","d1");
  562.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;  *(char *)a2 = *(char *)a2;
  563. }
  564. static __inline LONG 
  565. StoreLocalItem (BASE_PAR_DECL struct IFFHandle *iff,struct LocalContextItem *localItem,long position)
  566. {
  567.   BASE_EXT_DECL
  568.   register LONG  _res  __asm("d0");
  569.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  570.   register struct IFFHandle *a0 __asm("a0") = iff;
  571.   register struct LocalContextItem *a1 __asm("a1") = localItem;
  572.   register long d0 __asm("d0") = position;
  573.   __asm __volatile ("jsr a6@(-0xd8)"
  574.   : "=r" (_res)
  575.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  576.   : "a0","a1","d0","d1");
  577.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  578.   return _res;
  579. }
  580. static __inline LONG 
  581. WriteChunkBytes (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long size)
  582. {
  583.   BASE_EXT_DECL
  584.   register LONG  _res  __asm("d0");
  585.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  586.   register struct IFFHandle *a0 __asm("a0") = iff;
  587.   register APTR a1 __asm("a1") = buf;
  588.   register long d0 __asm("d0") = size;
  589.   __asm __volatile ("jsr a6@(-0x42)"
  590.   : "=r" (_res)
  591.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0)
  592.   : "a0","a1","d0","d1");
  593.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  594.   return _res;
  595. }
  596. static __inline LONG 
  597. WriteChunkRecords (BASE_PAR_DECL struct IFFHandle *iff,APTR buf,long bytesPerRecord,long nRecords)
  598. {
  599.   BASE_EXT_DECL
  600.   register LONG  _res  __asm("d0");
  601.   register struct IFFParseBase* a6 __asm("a6") = BASE_NAME;
  602.   register struct IFFHandle *a0 __asm("a0") = iff;
  603.   register APTR a1 __asm("a1") = buf;
  604.   register long d0 __asm("d0") = bytesPerRecord;
  605.   register long d1 __asm("d1") = nRecords;
  606.   __asm __volatile ("jsr a6@(-0x4e)"
  607.   : "=r" (_res)
  608.   : "r" (a6), "r" (a0), "r" (a1), "r" (d0), "r" (d1)
  609.   : "a0","a1","d0","d1");
  610.   *(char *)a0 = *(char *)a0;  *(char *)a1 = *(char *)a1;
  611.   return _res;
  612. }
  613. #undef BASE_EXT_DECL
  614. #undef BASE_PAR_DECL
  615. #undef BASE_PAR_DECL0
  616. #undef BASE_NAME
  617.  
  618. __END_DECLS
  619.  
  620. #endif /* _INLINE_IFFPARSE_H */
  621.